package com.just.springbootbatch;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 *  Spring Batch是一个轻量级的框架,完全面向Spring的批处理框架,用于企业级大量的数据读写处理系统。以POJO和Spring 框架为基础，包括日志记录/跟踪，事务管理、 作业处理统计工作重新启动、跳过、资源管理等功能。
 *
 * Spring Batch官网是这样介绍的自己：一款轻量的、全面的批处理框架，用于开发强大的日常运营的企业级批处理应用程序。
 *
 * 框架主要有以下功能：
 *
 *     Transaction management（事务管理）
 *     Chunk based processing（基于块的处理）
 *     Declarative I/O（声明式的输入输出）
 *     Start/Stop/Restart（启动/停止/再启动）
 *     Retry/Skip（重试/跳过）
 *
 * 框架一共有5个主要角色：
 *
 *     JobRepository是用户注册Job的容器，就是存储数据的地方，可以看做是一个数据库的接口，在任务执行的时候需要通过它来记录任务状态等等信息。
 *     JobLauncher是任务启动器，通过它来启动任务，可以看做是程序的入口。
 *     Job代表着一个具体的任务。
 *     Step代表着一个具体的步骤，一个Job可以包含多个Step（想象把大象放进冰箱这个任务需要多少个步骤你就明白了）。
 *     Item就是输出->处理->输出，一个完整Step流程。
 */
@SpringBootApplication
public class SpringbootbatchApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootbatchApplication.class, args);
    }
}
